
package requests

import (
	"github.com/goravel/framework/contracts/http"
	"github.com/goravel/framework/contracts/validation"
)

type LuckLotteryRecordRequest struct {

	Uid string `json:"uid" form:"uid"`

	LotteryId string `json:"lottery_id" form:"lottery_id"`

	PrizeId string `json:"prize_id" form:"prize_id"`

	Type string `json:"type" form:"type"`

	IsReceive string `json:"is_receive" form:"is_receive"`

	ReceiveTime string `json:"receive_time" form:"receive_time"`

	ReceiveInfo string `json:"receive_info" form:"receive_info"`

	IsDeliver string `json:"is_deliver" form:"is_deliver"`

	DeliverTime string `json:"deliver_time" form:"deliver_time"`

	DeliverInfo string `json:"deliver_info" form:"deliver_info"`

	AddTime string `json:"add_time" form:"add_time"`

}

func (r *LuckLotteryRecordRequest) Authorize(ctx http.Context) error {
	return nil
}

func (r *LuckLotteryRecordRequest) Rules(ctx http.Context) map[string]string {
	return map[string]string{

		"uid": "required",

		"lottery_id": "required",

		"prize_id": "required",

		"type": "required",

		"is_receive": "required",

		"receive_time": "required",

		"receive_info": "required",

		"is_deliver": "required",

		"deliver_time": "required",

		"deliver_info": "required",

		"add_time": "required",

	}
}

func (r *LuckLotteryRecordRequest) Messages(ctx http.Context) map[string]string {
	return map[string]string{}
}

func (r *LuckLotteryRecordRequest) Attributes(ctx http.Context) map[string]string {
	return map[string]string{}
}

func (r *LuckLotteryRecordRequest) PrepareForValidation(ctx http.Context, data validation.Data) error {
	return nil
}
